<?php

namespace IDock\Insurance\ZFIC\Request;

use IDock\Insurance\ZFIC\Request\AllZFICRequest;
use IDock\Insurance\ZFIC\Response\VehicleActualValueResponse;
use IDock\Visitor\VehicleActualValueVisitor;

/**
 * 车辆实际价值计算 珠峰没有，跳过
 */
class VehicleActualValueRequest extends AllZFICRequest
{
    protected $code = 'ODR1016';

    protected $response = VehicleActualValueResponse::class;

    protected $urlTip = '车辆实际价值计算';

    /**
     * @var VehicleActualValueVisitor $visitor
     */
    protected $visitor;

    public function generate(): array
    {
        $param = [
            'businessNo' => $this->visitor->argc['businessNo'] ?? '',
            'licenseNo' => $this->visitor->argc['licenseNo'] ?? '',
            'frameNo' => '',
            'engineNo' => $this->engineNo,
            'singeinDate' => $this->singeinDate,
            'carOwner' => $this->carOwner,
            'carOwnerType' => $this->carOwnerType,
            'carOwnerIdentifyType' => $this->carOwnerIdentifyType,
            'identifyNumber' => $this->identifyNumber,
            'carOwnerPhone' => $this->carOwnerPhone,
            'chgOwnerFlag' => $this->chgOwnerFlag,
            'transferDate' => $this->transferDate,
            'modelCode' => $this->modelCode,
            'platOrderNo' => $this->platOrderNo,
            'certificateType' => $this->certificateType,
            'certificateNO' => $this->certificateNO,
            'certificateDate' => $this->certificateDate,
            'insuredName' => $this->insuredName,
            'carKindCode' => $this->carKindCode,
            'carUseType' => $this->carUseType,
            'attachNature' => $this->attachNature,
            'licenseTypeCode' => $this->licenseTypeCode,
            'vehicleCategory' => $this->vehicleCategory,
            'licenseColor' => $this->licenseColor,
            'fuelTypeCode' => $this->fuelTypeCode,
            'seatCount' => $this->seatCount,
            'completeKerbMass' => $this->completeKerbMass,
            'tonCount' => $this->tonCount,
            'jqStartDate' => $this->jqStartDate,
            'jqEndDate' => $this->jqEndDate,
            'syStartDate' => $this->syStartDate,
            'syEndDate' => $this->syEndDate,
            'groupCode' => $this->groupCode,
            'insuredType' => $this->insuredType,
            'appliInsuredName' => $this->appliInsuredName,
            'carOwnerGender' => $this->carOwnerGender,
            'carOwnerBirthDate' => $this->carOwnerBirthDate,
            'appliIdentifyType' => $this->appliIdentifyType,
            'appliIdentifyNumber' => $this->appliIdentifyNumber,
            'riskInsuredType' => $this->riskInsuredType,
            'insuredIdentifyType' => $this->insuredIdentifyType,
            'insuredIdentifyNumber' => $this->insuredIdentifyNumber,
            'modelEnergyType' => $this->modelEnergyType,
            'pureRange' => $this->pureRange,
            'otherEnergyTypeDesc' => $this->otherEnergyTypeDesc,
        ];

        return $param;
    }
}